Synchronization of a decoding and presentation process for received bitstreams is a particularly important aspect of real-time digital data delivery systems such as digital television systems. For example, the Moving Pictures Experts Group (MPEG) has promulgated several standards relating to digital data delivery systems. The first, known as MPEG-1 refers to ISO/IEC standards 11172, incorporated herein by reference. The second, known as MPEG-2, refers to ISO/IEC standards 13818, incorporated herein by reference. A compressed digital video system is described in the Advanced Television Systems Committee (ATSC) digital television standard document A/53, incorporated herein by reference. Because received data is expected to be processed at a particular rate (to match the rate at which it is generated and transmitted), loss of synchronization leads to either buffer overflow or underflow at the decoder, and as a consequence, loss of presentation and/or displaced synchronization.
There are many instances where there is a need to switch from one encoded or compressed bitstream to another. When switching between bitstreams it is important to accurately preserve the timing information. For example, a TV studio can switch from an ATSC bitstream stored on a server to another server-stored bitstream. Studio switching can also occur between an active encoder (live camera) and a server (e.g., inserting commercials into a program stream), or between a studio program stream and remote feed. Home receivers can switch to a program bitstream to a bitstream from a tape player/recorder. Bitstream generators, used for compliance or other tests, usually loop a bitstream endlessly. This is a form of splicing, i.e., joining of the end of the bitstream to the beginning of the bit-stream.
When switching from one compressed ATSC video bitstream to another, appropriate measures must be taken in the transmission order of the picture bitstream to assure proper subsequent presentation of the decoded pictures, without time gaps. To provide a smooth transition of program video and audio decoding and presentation, the presentation time stamp (PMS) and the decode time stamp (DTS) must be retimed if the transport stream included PES streams.
Prior art retiming systems include a 27 MHz (local) station clock which is utilized by a local PCR and PCRB generator. A multiplexed transport stream is received and the PTS, DTS and PCR timing information is detected and replaced by locally generated PTS, DTS and PCR timing information to produce a retimed transport stream. The transport streams comprising the multiplexed transport stream are constant bitrate data streams and the resultant transport stream is likewise a constant bitrate data stream. Thus, there is no occasion to insert opportunistic data since any additional data will necessarily change the bitrate of the stream. Another drawback is that the operation of the system can lead to an irregularly spaced PCR packet at the transition of the switching process (i.e., not ATSC compliant). Moreover, merely retiming the PTS and DTS is insufficient to insure proper buffer conditions at a far end subscriber decoder.
Therefore, a need exists in the art for a retiming method and apparatus which allows for the insertion of opportunistic data while maintaining timing compliance. It is also desirable to provide a retiming method and apparatus which insures proper buffer conditions at the far-end subscriber decoder.